home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigarom 1
/
Gigarom Macintosh Archives (Quantum Leap)(CDRM1080320)(1993).iso
/
FILES
/
DEV
/
I-Z
/
MacsBug6.2.2.sea
/
Read Me
< prev
next >
Wrap
Text File
|
1991-11-19
|
7KB
|
185 lines
=================================================
MacsBug 6.2.2 7/17/91 © Apple Computer, Inc. 1981-91
Bugs fixed in 6.2.2
A cache problem that killed MacsBug at startup on a 68040
is solved by flushing the caches where necessary.
A 68040 timing error related to cursor flash and key debounce
was fixed.
Branch prediction routine used self modifying code to execute the
actual branch to make the prediction. On a 68040, the modified
instruction was in the data cache, so it didn't execute properly
since the modified instruction was not loaded in the instruction
cache. Branch prediction is now implemented using a table lookup.
Breakpoints set close to current PC were missed since cache
was not flushed to read in break point. Cache is now flushed to
read in new breakpoints.
Trap symbols were brought up to date (HFSDispatch is defined).
=================================================
MacsBug 6.2.1 5/20/91 © Apple Computer, Inc. 1981-91
Bugs fixed in 6.2.1
Interrupts are reenabled by the RS and RB commands,
eliminating the irritating hang experienced with these
commands when running System 7.0.
Macsbug 6.2 mismanaged the bus error vector under some
circumstances, causing disassembly (the IL command or updating
the PC disassembly pane) to crash if Macsbug caused a bus error
while trying to follow bad address values. Macsbug 6.2.1
manages the vector correctly.
Macsbug 6.2 turned on interrupts while the HS (heap scramble)
routine ran, to avoid jerky mouse movement. This caused a
problem with managing supervisor/user mode correctly when
running under VM. For this release, interrupts remain disabled
to prevent this problem.
=================================================
MacsBug 6.2 1/25/91 © Apple Computer, Inc. 1981-91
You should use the “Debugger Prefs” included with this MacsBug.
It contains macros, templates, dcmds, and the C++ name unmangler.
You may add your own resources to “Debugger Prefs”,
or remove some to decrease memory usage.
=================================================
New features since 6.1
MacsBug 6.2 supports the Macintosh Plus and all newer
Macintosh models. These are the Macintosh Plus, SE, II, IIx,
IIcx, SE30, Portable, IIci, IIfx, Classic, IIsi and LC.
MacsBug 6.2 works reliably with all Apple monitors and all
third-party monitors if their slot ROM and driver software
have been designed according to the guidelines presented
in Designing Cards and Drivers for the Macintosh II and
Macintosh SE, with and without 32 bit QuickDraw.
MacsBug 6.2 runs under A/UX 2.0.
Typing Command-D instead of Command-; with an international
keyboard accesses the symbol list.
If the selected symbol in the scrollable list contains a
C++ or Object Pascal class name, then pressing the tab key
qualifies the list by that name.
MacsBug 6.2 displays the name of the current application,
the memory management scheme (24 bit/32 bit) currently used,
and whether you are running and have access to virtual memory.
New options for the Find command allow you to specify the width
of the pattern for which MacsBug searches. One of these options
allows MacsBug to look for 24 bit pointers.
The heap dump display is more detailed and works with 24 bit
and 32 bit heaps.
An extension to the GT command allows you to specify
one or more MacsBug commands to be executed
once the specified breakpoint is reached.
Beginning with MacsBug 6.1 (but not documented),
the DebugStr trap was extended so that you could include
one or more commands in the message string to DebugStr.
After MacsBug is invoked by the DebugStr trap, in addition
to displaying a message specified with DebugStr, MacsBug
executes the command(s) included in the message for DebugStr.
The syntax for the call is as follows:
DebugStr ("string [; cmd]")
string is the message to display.
cmd is a MacsBug command or macro.
Example:
DebugStr ("Checking the heap ;hc ;g")
This routine invokes MacsBug, display the message "Checking
the Heap", does a heap check, and resumes execution of the
program.
The printf dcmd included in “Debugger Prefs” allows you to
produce formatted output.
=================================================
Changes after the 6.2 release notes went final
The 'mxbh' help resource now resides in the “MacsBug” file
of MacsBug 6.2.
SC6, SC7, and HZ take optional parameters. More information on
these parameters can be obtained from the help command.
The SC commands allow to crawl stacks anywhere in the memory.
HZ knows about embedded, 24 bit, and 32 bit heaps.
HX allows to switch to partially damaged heaps.
HD knows a new Q option and displays an additional summary line.
HZ and HD display partially damaged blocks and heaps with ! or ?
next to the address.
If an address is in a known resource but not in a known
procedure then an artificial symbol may be displayed by MacsBug.
E.g. 'CODE 0006 0C20 Pickers'+0262 indicates the address which
is $262 bytes offset into CODE 6 resource, named "Pickers", of
file $0C20.
=================================================
We know about some bugs :
If ATR is on and A0 points into hardware registers on some
NuBus cards then reading the bytes which A0 points to may
cause the card to perform erratically (e.g. video flickering,
network malfunction).
For now try to use ATT instead in such situations.
Sometimes MacsBug loses FPU status when an NMI interrupts
two consecutive FPU instructions.
If you encounter this use _DebugStr instead of hitting the NMI.
There are still problems with a few video cards and video
drivers.
For now if you have more than one screen try to run MacsBug
on the other screen.
If you use a pre-release of System 7.0 and switch VM on then
use common sense to avoid :
- using the MacsBug Find command over NuBus card memory
- searching for symbols in memory that is swapped to disk
(you may want to consider using the SX command)
ATHC sometimes reports an invalid heap if the Memory Manager
calls _BlockMove while the heap zone free bytes are not yet
adjusted.
For now ignore these warnings or use ATHCA.
The source code provided for dcmds requires MPW 3.1 to build
the dcmds. It currently does not build with MPW 3.2.
This does not affect the execution of the dcmds included in
the file “Debugger Prefs”.
=================================================
In addition to these specific changes,
you should find MacsBug 6.2 easier to use.
Whenever possible its output has been made more articulate
and its displays more intelligible.
Feedback is an important and appreciated contribution.